package demo01;

public class Demo01FunctionalInterface {
    public static void main(String[] args) {

        show(new FunctionalInterfaceImpl()); // 使用实现类作为方法参数

        show(new FunctionalInterfaceA() { // 使用匿名内部类实现抽象方法，作为方法参数
            @Override
            public void method() {
                System.out.println("匿名内部类实现了函数式接口的method方法！");
            }
        });
        
        // 使用Lambda实现抽象方法，作为方法参数
        show(() -> System.out.println("Lambda实现了函数式接口的method方法！"));
    }

    // 使用接口作为方法的参数
    public static void show(FunctionalInterfaceA functionalInterface) {
        functionalInterface.method();
    }
}
